---
title: "Create your first flow"
---

Creating flow require having a copilot with a valid swagger file, you can read on how to create a copilot with swagger file from here

## OpenCopilot flows definition (FD)

A OpenCopilot flows definition is a single json file that describe different flows in your APIs, for example, if your product contain "add to cart" functionality, then you can
map this functionality to a flow, which represent set of APIs calls.


**This is an example on OpenCopilot flows definition file:**

![API Playground](/images/flows-file-example.png)



## How to Define Your OpenCopilot Flows File?

![API Playground](/images/editor.png)


It's easy! you can use the [flows editor](https://editor.opencopilot.so/) to write your flows, their description and the APIs calls of each flow.

If you do not like writing json blocks, you can use our flow UI editor to visually build flows, for examole, we were able to create search and create pet flow with few click

![API Playground](/images/ui-editor.png)



## Feed the flows file to your copilot

[Create flow endpoint](/api-reference/endpoint/workflow/create_workflow)

## Flows Best Practices

Flows are still in beta, and there are some areas where they currently lack functionality. To make the most of flows in OpenCopilot, ensure that your flow definition files always align with your Swagger file in terms of `open_api_operation_id`. Additionally, try to minimize the response data from each step (only pass the important fields between steps, not the entire API response).

If you have a specific use case and need support from our team, we would love to assist you. Please join our Discord server or schedule a call with us.


## Suggestions and Questions ❤️

OpenCopilot flow definition is new and still in beta. We highly appreciate your suggestions. You can join our [Discord server](https://discord.gg/yjEgCgvefr), [hey@openchat.so](mailto:hey@openchat.so)email us, or [book a call](https://calendly.com/hey-pk0) with us to share your feedback.

